Keyboards used to input data to a digital processor use several techniques to identify an activation of a particular keyboard switch. In one type of keyboard all input switches are connected to an input bus to output a unique binary value onto the bus upon switch activation. Because all switches are connected to a common input bus, to avoid erroneous decoding of the binary values, logic circuitry provided therein avoids simultaneous activation of more than one switch. This technique, however, requires each switch to have its own encoding circuitry and does not support multiple key inputs of a type that require simultaneous activation of more than one switch at a time.
To avoid encoding circuitry at each input switch, each switch can be associated with a particular I/O input line. However, if the number of input switches exceeds the available number of I/O input lines, the processor must use a separate multiplexer to selectively connect banks of switches to the available lines. The processor then scans through the banks of switches by signalling the multiplexer circuit to sequentially poll banks of switch inputs to the input bus of the processor. In addition to the external multiplexer circuit required, this technique requires individual wiring between each of the input switches and the multiplexer circuit. Further, the processor first must designate to the multiplexer the desired switch bank to be polled prior to detecting a switch activation; this often requires the processor to use the same I/O lines to establish the designation that are used to input the data from the multiplexer.
A need therefore exists to provide a scanning type of input keyboard having a number of input switches greater than the number of available I/O lines available without a dedicated multiplexer. Further, a need exists for minimizing the number of wires required to detect and identify an input switch activation while avoiding individual logic circuitry to encode switch activation and detect combinations of simultaneous switch inputs.
Accordingly, an object of the invention is to minimize the number of I/O lines needed to input data from a digital keyboard without multiplexing.
Another object of the invention is to provide a digital input keyboard input device and method for eliminating encoding of individual input keys onto an I/O bus.
A further object of the invention is to provide a digital keyboard input device and method for detecting and identifying simultaneous multiple key inputs.
Still another object of the invention is to provide a digital keyboard input device and method of detecting an ambiguous input therefrom.
A further object of the invention is to provide a digital keyboard input device which includes debouncing of input switches to correctly detect simultaneous multiple switch inputs.